www.gusucode.com > 基于控制台的VC++ 图书管理系统-源码程序 > 基于控制台的VC++ 图书管理系统-源码程序/code/图书管理系统/FunctionInRep1.cpp

    //Download by http://www.NewXing.com
//***************************************************************************
//                      这里的是有关书库报表的几个简单函数
//***************************************************************************

#include "First.h"

//书库列表

void invList(void)
{
	fstream file;
	Sale book;      //显示书时的临时变量
	int i,count=0;  //计数

    file.open("bookfile.dat",ios::in|ios::out|ios::binary);
    if(!file){
		cout<<"书库文件打开失败。\n";
		exit(0);
	}

    file.seekg(0L,ios::beg);             //读指针移到文件开头
	cout<<"\t\t\t\t书库列表\n\n";
	file.read((char*)&book,sizeof(book));//从文件中读一个书的信息
    for(i=0;!file.eof();i++)
	{
		if (book.getISBN()[0]!='\0')      //不显示已被删除的书
		{   
			book.Show();
            count++;
	        file.read((char*)&book,sizeof(book));//再从文件中读一个书的信息
			if ((count%2)==0) {
				cerr<<"按任意键继续!";
			    getch();                         //分屏显示
				system("cls");
			}
		}
		else file.read((char*)&book,sizeof(book));
	}
	cerr<<"列表结束,按任意键继续!";
    getch();
	file.flush();
	file.close();
}

//批发价列表

void wholList(void)
{
	fstream file;
	Sale book;
	int i,count=0;

    file.open("bookfile.dat",ios::in|ios::out|ios::binary);
    if(!file){
		cout<<"书库文件打开失败。\n";
		exit(0);
	}

    file.seekg(0L,ios::beg);             //读指针移到文件开头
    cout<<"\t\t\t\t批发价列表\n\n";
	file.read((char*)&book,sizeof(book));//从文件中读一个书的信息
    for(i=0;!file.eof();i++)
		{
		    if (book.getISBN()[0]!='\0')
			{   
			    cout<<"\t\t\tISBN号: "<<book.getISBN()<<endl;
			    cout<<"\t\t\t书名:    "<<book.getTitle()<<endl;
			    cout<<"\t\t\t批发价: "<<book.getWhole()<<" 元"<<endl;
			    cout<<endl;
			    count++;
                file.read((char*)&book,sizeof(book));//再从文件中读一个书的信息

			    if ((count%5)==0) {
				                    cerr<<"按任意键继续!";
			                        getch();          //分屏显示
								    system("cls");
				}
			}
			else file.read((char*)&book,sizeof(book));
	}
	cerr<<"列表结束,按任意键继续!";
	getch();

	file.flush();
	file.close();
}

//零售价列表

void retaList(void)
{
	fstream file;
	Sale book;
	int i,count=0;

    file.open("bookfile.dat",ios::in|ios::out|ios::binary);
    if(!file){
		cout<<"书库文件打开失败。\n";
		exit(0);
	}

    file.seekg(0L,ios::beg);             //读指针移到文件开头
    cout<<"\t\t\t\t零售价列表\n\n";
    file.read((char*)&book,sizeof(book));//从文件中读一个书的信息
    for(i=0;!file.eof();i++)
		{
            if (book.getISBN()[0]!='\0')
			{   
			    cout<<"\t\t\tISBN号: "<<book.getISBN()<<endl;
			    cout<<"\t\t\t书名:    "<<book.getTitle()<<endl;
			    cout<<"\t\t\t零售价: "<<book.getRetail()<<" 元"<<endl;
			    cout<<endl;
			    count++;
                file.read((char*)&book,sizeof(book));//再从文件中读一个书的信息

			    if ((count%5)==0) {
				                cerr<<"按任意键继续!";
			                    getch();             //分屏显示
								system("cls");
				}
			}
			else file.read((char*)&book,sizeof(book));
	}
	cerr<<"列表结束,按任意键继续!";
	getch();

	file.flush();
	file.close();
}